In code division multiple access (CDMA) communication systems, communications are sent over a shared frequency spectrum. To minimize cross interference between the transmitted signals, orthogonal codes are used. Communications transmitted with orthogonal codes through an ideal wireless channel experience no cross code correlation, although in practice due to multipath, the orthogonal nature of the codes may break down to some extent.
FIG. 1 is an illustration of a code tree for orthogonal variable spreading factors (OSVF). At the top of the tree is a code for a spreading factor of one. Codes in each row further down the tree have a spreading factor twice the factor of the row above that code. For the code tree of the time division duplex (TDD) mode of a third generation partnership project (3GPP) wideband code division multiple access (WCDMA) communication system, the maximum spreading factor as shown in FIG. 1 is sixteen (16). In other systems, the maximum spreading factor may be significantly larger, such as 256 or 512.
FIG. 1 is an illustration of an OVSF code tree having a maximum spreading factor of 16. The tree has one code of spreading factor 1, C1(1) of a value “1”. Two codes, C2(2) having a value of “1,1” and C2(1) having a value of “1,−1”, have a spreading factor of 2. Four codes, C4(4) to C4(1), have a spreading factor of 4. Eight codes, C8(8) to C8(1) have a spreading factor of 8 and sixteen codes, C16(16) to C16(1) have a spreading factor of 16.
The lines connecting the codes in the tree identify codes that are not orthogonal to each other in the tree. Codes connected by lines in either only an upward or downward direction are not orthogonal. To illustrate, code C16(16) is not orthogonal to code C2(2), since tracing a path from code C16(16) to code C2(2) can be done using four upward connecting lines. Conversely, codes C16(16) and C8(7) are orthogonal to each other. Tracing a path from C16(16) to C8(7) involves using two upward connecting lines and one downward connecting line.
To minimize interference between communications, it is desirable to only assign codes that are orthogonal to each other. It is also desirable to assign the codes in an optimal manner such that the maximum number of orthogonal codes are available for use. In an operating wireless communication system as codes are assigned and release, unoptimal code assignments may occur reducing the system's capacity.
FIG. 2A is an illustration of a fragmented OVSF code assignment. One problem with using OVSF codes is the efficient use of the codes. After the assigning and release of codes, codes C16(16), C16(13), C16(9) and C16(5) are still active, as show as being filled circles. To prevent the assignment of a code not orthogonal to these codes, all the codes above these codes are blocked from assignment, as shown by an “X”. Accordingly, the use of C16(5) blocks C8(3), C4(2), C2(1) and C1(1). As shown in FIG. 2A, a total of ten codes are blocked, C1(1), C2(1), C2(2), C4(2), C4(3), C4(4), C8(3), C8(5), C8(7) and C8(8) are blocked. As a result of assigning four spreading factor (SF) sixteen codes, no SF 2 codes are available and only one SF4 code is available. Accordingly, services requiring an SF 2 code or multiple SF 4 codes can not be supported on this tree.
FIG. 2B illustrates an efficient (unfragmented) assignment of four SF 16 codes. Codes C16(16) to C16(13) are used. Only five codes are blocked as a result of this assignment, codes C1(1), C2(2), C4(4), C8(8) and C8(7). As a result, one SF 2 code is available and three SF 4 codes are available to support additional services. The assignment of FIG. 2B allows for greater latitude in code assignment than FIG. 2A.
Since the four codes assigned in FIG. 2A block more codes than necessary, this code assignment is considered fragment (the codes are fragmented over the tree). In FIG. 2B, a minimum number of codes are blocked and the code tree is considered unfragmented.
In call admission control, acceptance and the resources allocated to a new call is determined by the radio resource management device (RRM). In the Universal Mobile Terrestrial System (UMTS) W-CDMA TDD mode, the RRM assigns calls based on timeslot interference levels and fragmentation of resource units of a user's coded composite transport channel (CCTrCH) over timeslots. A resource unit is the use of one code in one timeslot at a spreading factor of sixteen. For lower spreading factors, more resource units are considered used. To illustrate for a spreading factor 8, two resource units are consider used and for a spreading factor of 1, sixteen resource units are considered used.
These assignments typically attempt to assign the new call codes to keep the timeslots unfragmented. However, as calls end and resources are released, some fragmented code trees result. Over time due to this fragmentation, calls may be unnecessarily blocked during call admission, as for having unavailable unblocked codes.
Accordingly, it is desirable to have alternate approaches to code assignment.